package icu.cqcai.xinsi.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 面试回答实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InterviewAnswer {
    
    /** 回答ID */
    private Long id;
    
    /** 用户ID */
    private Long userId;
    
    /** 面试会话ID */
    private String sessionId;
    
    /** 题目ID（来自AI生成的题目） */
    private Integer questionId;
    
    /** 题目标题 */
    private String questionTitle;
    
    /** 题目内容 */
    private String questionContent;
    
    /** 题目分类 */
    private String questionCategory;
    
    /** 用户回答内容 */
    private String answerContent;
    
    /** 回答时长（秒） */
    private Integer answerDuration;
    
    /** AI评分（0-100） */
    private BigDecimal aiScore;
    
    /** AI分析评价 */
    private String aiAnalysis;
    
    /** 优点分析（JSON数组） */
    private String strengthPoints;
    
    /** 改进建议（JSON数组） */
    private String improvementPoints;
    
    /** 关键词匹配情况（JSON对象） */
    private String keywordMatch;
    
    /** 回答状态：1-已回答，0-未回答 */
    private Integer status;
    
    /** 创建时间 */
    private LocalDateTime createTime;
    
    /** 更新时间 */
    private LocalDateTime updateTime;
    
    /**
     * 构造函数（创建新回答）
     */
    public InterviewAnswer(Long userId, String sessionId, Integer questionId, 
                          String questionTitle, String questionContent, 
                          String questionCategory, String answerContent) {
        this.userId = userId;
        this.sessionId = sessionId;
        this.questionId = questionId;
        this.questionTitle = questionTitle;
        this.questionContent = questionContent;
        this.questionCategory = questionCategory;
        this.answerContent = answerContent;
        this.status = 1; // 已回答
        this.createTime = LocalDateTime.now();
        this.updateTime = LocalDateTime.now();
    }
} 